package com.example.no1admin.mapper;

import com.example.no1admin.pojo.entity.Route;
import com.example.no1admin.pojo.vo.route.RouteDetailVO;
import com.example.no1admin.pojo.vo.route.RouteListItemVO;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface RouteMapper {
    /**
     * 添加线路
     * @param route 线路数据
     * @return 受影响的行数，将返回成功删除的数据量
     */
    int insert(Route route);

    /**
     * 根据名称统计此名称对应的线路数据的数量
     * @param name 线路名称
     * @return 此名称对应的线路数据的数量
     */
    int countByName(String name);

    /**
     *查询线路列表
     * @return 线路列表的集合
     */
    List<RouteListItemVO> list();

    /**
     * 根据路线id获取路线数据
     * @param id id数据
     * @return 不为null则获取到路线数据
     */
    RouteDetailVO getById(Long id);

    /**
     * 根据id删除路线数据
     * @param id 路线id
     * @return 受影响的行数 1表示删除成功 0表示失败
     */
    int deleteById(Long id);

    int updateById(Route route);
}
